package com.lex.entity.menu;

import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@Schema(name = "MenuList", description = "获取所有菜单列表实体类")
public class MenuListVo {
    @Schema(description = "菜单path")
    private String path;
    @Schema(description = "菜单名称")
    private String menuName;
    @Schema(description = "菜单组件")
    private String component;
    @Schema(description = "菜单重定向")
    private String redirect;
    @Schema(description = "菜单id")
    private Long id;
    @Schema(description = "菜单排序")
    private Integer orderNo;
    @Schema(description = "菜单图标")
    private String icon;
    @Schema(description = "菜单权限")
    private String permission;
    @Schema(description = "菜单创建时间")
    private String createTime;
    @Schema(description = "菜单类型 0：目录 1：菜单 2：按钮")
    private String type;
    @Schema(description = "菜单状态 0：禁用 1：启用")
    private String status;
    @Schema(description = "菜单父级id")
    private String parentMenu;
    @Schema(description = "菜单权限方法")
    private String method;
    @Schema(description = "菜单是否显示 0：隐藏 1：显示")
    private Integer show;
    @Schema(description = "菜单标签")
    private String label;
    @Schema(description = "菜单key")
    private String key;
    @Schema(description = "菜单value")
    private String value;
    @Schema(description = "菜单代码")
    private String code;
    @Schema(description = "当前活动菜单")
    private String currentActiveMenu;
    @Schema(description = "菜单真实路径")
    private String realPath;
    @Schema(description = "菜单参数")
    private Integer carryParam;
    @Schema(description = "是否租户菜单")
    private Integer tenantIsOpen;
    @Schema(description = "菜单子菜单")
    private List<MenuListVo> children;
}
